package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.common.dtos.PageResult;
import com.heima.common.dtos.ResponseResult;
import com.heima.model.media.dtos.WmMaterialDto;
import com.heima.wemedia.pojo.WmMaterial;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * <p>
 * 自媒体图文素材信息表 服务类
 * </p>
 *
 * @author HM
 * @since 2023-03-22
 */
public interface WmMaterialService extends IService<WmMaterial> {

    /**
     * 分页当前用户的查询文章素材列表
     *
     * @param dto
     * @return
     */
    PageResult<WmMaterial> findByPage(WmMaterialDto dto);

    /**
     * 上传图片到oss云存储
     *
     * @param file
     * @return
     */
    ResponseResult<String> uploadPicture(MultipartFile file);


    /**
     * 根据素材id 修改素材收藏状态
     *
     * @param id           素材id
     * @param isCollection 收藏状态
     */
    void setIsCollectionById(Integer id, boolean isCollection);

    /**
     * 删除自媒体用户素材, 被文章引用的素材不能被删除
     *
     * @param id
     */
    void deleteMaterial(Integer id);


    /**
     * 根据图片的url集合查询WmMaterial集合
     *
     * @param url 图片url集合
     * @return List<WmMaterial>
     */
    List<WmMaterial> findByImages(List<String> url);
}
